home *** CD-ROM | disk | FTP | other *** search
/ Wild Blue Yonder 1: 50 Years of Gs & Jets / Wild Blue Yonder - Episode 1 - 50 Years of Gs and Jets (Digital Ranch) (Spectrum Holobyte)(1-107-40-101)(1994).iso / control / printext.dir / 00151_Script_151 < prev    next >
Text File  |  1994-08-29  |  9KB  |  392 lines

  1. on startMovie
  2.   set the keyDownScript = "if the key = RETURN then printText"  
  3. end startMovie
  4.  
  5.  
  6.  
  7. on print
  8.   global cancelPrint, doPrint, doPrintBorder, machine, printBox, ¼
  9.          printQuestion, watch, Win
  10.   
  11.   set the puppet of sprite printBox       = TRUE
  12.   set the puppet of sprite printQuestion  = TRUE
  13.   set the puppet of sprite cancelPrint    = TRUE
  14.   set the puppet of sprite doPrint        = TRUE
  15.   set the puppet of sprite doPrintBorder  = TRUE
  16.   
  17.   set the locV of sprite printBox         = 1000
  18.   set the locV of sprite printQuestion    = 1000
  19.   set the locV of sprite cancelPrint      = 1000
  20.   set the locV of sprite doPrint          = 1000
  21.   set the locV of sprite doPrintBorder    = 1000
  22.   updateStage
  23.   
  24.   if the machineType = Win then WinPrint
  25.   else MacPrint
  26.   
  27.   go to frame (machine & "print") of movie "panel"
  28. end print
  29.  
  30.  
  31.  
  32.  
  33.  
  34. on WinPrint  -- "DPWprint"
  35.   global HDroot, storyText
  36.   
  37.   put RETURN&numToChar(10) into recordEnd  -- <RETURN> <LINEFEED>
  38.   
  39.   put HDroot & "PRINT.TXT" into theFileName
  40.   set file = FileIO(mNew, "write", theFileName)
  41.   
  42.   -- First set an offset for the printing page:
  43.   file( mWriteString, "@ORIX" && 30 & recordEnd )
  44.   file( mWriteString, "@ORIY" && 40 & recordEnd )
  45.   
  46.   set castNr to the castNum of sprite storyText
  47.   
  48.   file( mWriteString, ¼
  49.           "@POSX" && the locH of sprite storyText & recordEnd )
  50.   file( mWriteString, ¼
  51.           "@POSY" && the locV of sprite storyText & recordEnd )
  52.   file( mWriteString, ¼
  53.           "@FONT" && the textFont of field castNr & recordEnd )
  54.   file( mWriteString, ¼
  55.           "@SIZE" && the textSize of field castNr & recordEnd )
  56.   
  57.   put the textStyle of field castNr into style
  58.   
  59.   repeat with lineNr = 1 to the number of lines in field castNr
  60.     file( mWriteString, line lineNr of field castNr & recordEnd )
  61.   end repeat
  62.   
  63.   file( mDispose )
  64.   open "AV_PRINT.EXE"
  65.   
  66. end WinPrint
  67.  
  68.  
  69.  
  70.  
  71.  
  72. on MacPrint  -- "PrintShop"
  73.   global CDroot, printFile, storyText
  74.   
  75.   set textOut   = fileIO( mNew, "write", printFile )
  76.   textOut( mWriteString, ¼
  77.            field (the number of cast (the castNum of sprite storyText)))
  78.   set textIn    = fileIO( mNew, "read", printFile )
  79.   set printText = textIn( mReadToken, "", "" )
  80.   openXLib CDroot & "PrintShop"
  81.   set printObj  = printShop( mNew )
  82.   
  83.   if printObj( mDoPageSetup ) then
  84.     if printObj( mDoJobSetup ) then
  85.       printObj( mSetProgressMsg, ¼
  86.                "Press command-period to cancel printing.")
  87.       printObj( mPrint, printText )
  88.     end if
  89.   end if
  90.   
  91.   textOut(  mDispose )
  92.   textIn(   mDispose )
  93.   printObj( mDispose )
  94.   closeXLib CDroot & "PrintShop"
  95.   
  96. end MacPrint
  97.  
  98.  
  99.  
  100.  
  101.  
  102. ----------------------------------------------------------------------------------------
  103. -- Handlers in this section control the ambient sound.
  104. ----------------------------------------------------------------------------------------
  105.  
  106. on startAmbience
  107.   chooseChannels  
  108.   crossFade
  109. end startAmbience
  110.  
  111.  
  112.  
  113.  
  114. -- countSounds examines the ambience array to find out how many ambient
  115. -- sounds are associated with the movie.  It stores the total in a 
  116. -- variable called overviewSounds.
  117.  
  118. on countSounds
  119.   
  120.   global overviewSounds, ambience, ambienceCode
  121.   
  122.   set overviewSounds = 0
  123.   set contents = 1
  124.   set pointer = ambienceCode
  125.   
  126.   repeat while pointer < (ambienceCode + 99)
  127.     set contents = ambience( mGet, pointer )
  128.     if contents = 0 then 
  129.       exit repeat
  130.     end if
  131.     set pointer = pointer + 1
  132.     set overviewSounds = overviewSounds + 1
  133.   end repeat
  134.   
  135. end countSounds
  136.  
  137.  
  138.  
  139.  
  140.  
  141. on chooseChannels
  142.   global fadeInLength, inChannel, outChannel
  143.   
  144.   if (the volume of sound 1 > the volume of sound 2) or ¼
  145.     ((the volume of sound 1 < the volume of sound 2) and ¼
  146.      (playTime() < fadeInLength/2)) then
  147.     set inChannel  = 1
  148.     set outChannel = 2
  149.   else 
  150.     set inChannel  = 2
  151.     set outChannel = 1
  152.   end if
  153.   
  154. end chooseChannels
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162. -- crossFade chooses a new cut to play, then fades it in while fading
  163. -- out the old one.
  164.  
  165. on crossFade
  166.   global inChannel, outChannel, fadeOutLength, fadeInLength 
  167.   
  168.   set temp = inChannel
  169.   set inChannel = outChannel
  170.   set outChannel = temp
  171.   
  172.   chooseCut
  173.   
  174.   initFadeOut( outChannel )
  175.   fadeOut( outChannel, fadeOutLength )
  176.   initFadeIn( inChannel )
  177.   fadeIn( inChannel, fadeInLength )
  178.   playCut
  179. end crossFade
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186. on checkAmbience
  187.   global fadedIn, fadedOut, inChannel, outChannel, fadeInLength, fadeOutLength
  188.   
  189.   if not soundBusy( inChannel ) and not soundBusy( outChannel ) then startAmbience
  190.   if not fadedIn then fadeIn( inChannel, fadeInLength )
  191.   if not fadedOut then fadeOut( outChannel, fadeOutLength )
  192.   if nearEnd() then crossFade
  193. end checkAmbience
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200. -- chooseCut randomly selects the number of the next cut to play.  If possible, it
  201. -- never repeats the same cut twice in a row.
  202.  
  203. on chooseCut
  204.   
  205.   global cut, overviewSounds, oldOverviewSound
  206.   
  207.   set i = random( overviewSounds )
  208.   set cut = 1 + (i - 1)
  209.   
  210.   if overviewSounds > 1 then             -- If there are two or more choices, don't repeat.
  211.     if cut = oldOverviewSound then 
  212.       chooseCut
  213.     else
  214.       set oldOverviewSound = cut
  215.     end if
  216.   end if
  217.   
  218. end chooseCut  
  219.  
  220.  
  221.  
  222.  
  223.  
  224. -- nearEnd checks to see whether the current audio selection has reached
  225. -- the point at which it should start fading out.  (Values were assigned
  226. -- to the array called "fadePoint" in the Overview movie.)
  227.  
  228. on nearEnd
  229.   global cut, fadePoint
  230.   
  231.   if playTime() < fadePoint( mGet, cut ) then
  232.     return FALSE
  233.   else
  234.     return TRUE
  235.   end if
  236.   
  237. end nearEnd
  238.  
  239.  
  240.  
  241.  
  242. on initFadeOut channel
  243.   global bgVol, lastTimeOut, startVol, fracSumOut, fadedOut, volumes
  244.   set lastTimeOut   = the timer
  245.   set startVol      = volumes( mGet, bgVol )
  246.   set fracSumOut    = 0
  247.   set fadedOut      = FALSE
  248. end initFadeOut
  249.  
  250.  
  251.  
  252.  
  253.  
  254. on fadeOut channel, length
  255.   
  256.   global lastTimeOut, startVol, fracSumOut, fadedOut
  257.   
  258.   if the timer > lastTimeOut then
  259.     set elapsedTime = (the timer - lastTimeOut) * 1.0000000
  260.     set lastTimeOut = the timer
  261.     set increment = (elapsedTime/length) * startVol
  262.     set increment = storeFractionOut( increment )
  263.     
  264.     if fracSumOut >= 1 then
  265.       set increment  = increment + 1
  266.       set fracSumOut = fracSumOut - 1
  267.     end if
  268.     
  269.     set the volume of sound channel = ¼
  270.       (the volume of sound channel) - increment
  271.     
  272.     if (the volume of sound channel) = 0 then
  273.       sound stop channel
  274.       set fadedOut = TRUE
  275.     end if
  276.     
  277.   end if
  278.   
  279. end fadeOut
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286. on initFadeIn channel
  287.   global lastTimeIn, maxVol, volumes, bgVol, fracSumIn, fadedIn
  288.   set the volume of sound channel = 0  
  289.   set lastTimeIn                  = the timer
  290.   set maxVol                      = volumes( mGet, bgVol )
  291.   set fracSumIn                   = 0
  292.   set fadedIn                     = FALSE
  293. end initFadeIn
  294.  
  295.  
  296.  
  297.  
  298. on fadeIn channel, length
  299.   
  300.   global lastTimeIn, maxVol, fracSumIn, fadedIn, volumes, bgVol
  301.   
  302.   if the timer > lastTimeIn then
  303.     set elapsedTime = (the timer - lastTimeIn) * 1.0000000
  304.     set lastTimeIn = the timer
  305.     set increment = (elapsedTime/length) * maxVol
  306.     set increment = storeFractionIn( increment )
  307.     
  308.     if fracSumIn >= 1 then
  309.       set increment = increment + 1
  310.       set fracSumIn = fracSumIn - 1
  311.     end if
  312.     
  313.     if ((the volume of sound channel) + increment) < maxVol then
  314.       set the volume of sound channel = (the volume of sound channel) + increment
  315.     else
  316.       set the volume of sound channel = maxVol
  317.       set fadedIn = TRUE
  318.     end if
  319.     
  320.   end if
  321.   
  322. end fadeIn
  323.  
  324.  
  325.  
  326.  
  327. on storeFractionOut n
  328.   global fracSumOut
  329.   set int  = integer( n )
  330.   set frac = n - int
  331.   
  332.   if frac < 0 then
  333.     set frac = frac + 1
  334.     set int = int - 1
  335.   end if
  336.   
  337.   set fracSumOut = fracSumOut + frac
  338.   return int
  339. end storeFractionOut
  340.  
  341.  
  342.  
  343.  
  344. on storeFractionIn n
  345.   global fracSumIn
  346.   set int  = integer( n )
  347.   set frac = n - int
  348.   
  349.   if frac < 0 then
  350.     set frac = frac + 1
  351.     set int = int - 1
  352.   end if
  353.   
  354.   set fracSumIn = fracSumIn + frac
  355.   return int
  356. end storeFractionIn
  357.  
  358.  
  359.  
  360.  
  361. -- playCut plays an audio selection
  362. on playCut
  363.   global inChannel, ambience, ambiencePath, CDroot, cut
  364.   set selection = string( ambience( mGet, cut ))
  365.   sound playFile inChannel, CDroot & ambiencePath & selection
  366.   startCutTimer
  367. end playCut
  368.  
  369.  
  370.  
  371.  
  372. on startCutTimer
  373.   global cutStartTime
  374.   set cutStartTime = the timer
  375. end startCutTimer
  376.  
  377.  
  378.  
  379.  
  380. on playTime
  381.   global cutStartTime
  382.   return the timer - cutStartTime
  383. end playTime
  384.  
  385.  
  386.  
  387.  
  388. on stopAmbience
  389.   set the volume of sound 1 = 0
  390.   set the volume of sound 2 = 0
  391. end stopAmbience
  392.